package 常见容器;

import java.util.Arrays;
import java.util.Comparator;

public class 调整数组顺序使奇数位于偶数前面 {

    public static void reOrderArray(int[] array) {
        Integer[] array2 = new Integer[array.length];
        for(int i = 0; i < array.length; ++ i ) {
            array2[i] = array[i];
        }
        //奇数在偶数的前面 再把他们按照从小到大的顺序排序
//        Arrays.sort(array2, new Comparator<Integer>() {
//            @Override
//            public int compare(Integer o1, Integer o2) {
//                if(o1 % 2 == 1 && o2 % 2 == 1) {//都是奇数
//                    return o1 - o2;
//                } else {
//                    return o2 % 2 - o1 % 2;
//                }
//            }
//        });
        Arrays.sort(array2, (o1, o2)->{
            if(o1 % 2 == 1 && o2 % 2 == 1) {//都是奇数
                return o1 - o2;
            } else {
                return o2 % 2 - o1 % 2;
            }
        });
        for(int i = 0; i < array2.length; ++ i ) {
            System.out.print(array2[i] + " ");
        }
   }
    public static void main(String[] args) {
        int[] array =  {1, 2, 3, 4, 5};
        reOrderArray(array);
    }
}




